package com.mlh.controller;

import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.config.annotation.authentication.configuration.EnableGlobalAuthentication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author 缪林辉
 * @date 2024/3/13 14:38
 * @DESCRIPTION
 */
@RestController
public class TestController {
    //利用注解设置访问该接口所需要的权限
    //hasAuthority('test')是个方法，注解会调用这个方法
    // 由于外面已经有双引号了，因此方法的参数用单引号括起来，这个参数是字符型的
    @PreAuthorize("hasAuthority('system:dept:index')")
    @GetMapping("/test1")
    public String test1(){
        return "hello";
    }

    //在注解中调用了我们自定义的权限校验方法
    @PreAuthorize("@myExpressionRoot.hasAuthority('system:dept:index')")
    @GetMapping("/test2")
    public String test2(){
        return "hello--2";
    }
}
